home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / e / lsestuff / macros.e < prev    next >
Text File  |  1999-11-29  |  1KB  |  80 lines

  1. OPT MODULE
  2.  
  3. OPT PREPROCESS
  4.  
  5. OPT EXPORT
  6.  
  7. ->helvete !! trodde det gick att göra nlines..
  8.  
  9. #define SHL(var, steps)\
  10.    MOVE.L var, D0 ;\
  11.    MOVE.L steps, D1 ;\
  12.    SHL.L D1, D0 ;\
  13.    MOVE.L D0, var
  14.  
  15. #define SHR(var, steps)\
  16.    MOVE.L var, D0;\
  17.    MOVE.L steps, D1;\
  18.    SHR.L D1, D0;\
  19.    MOVE.L D0, var
  20.  
  21. /* len gets trashed!*/
  22. #define COPYMEM(frommem, tomem, len)\
  23.    MOVE.L frommem, A0;\
  24.    MOVE.L tomem, A1;\
  25.    WHILE (len);\
  26.       MOVE.B (A0)+, (A1)+;\
  27.       SUBQ.L #1, len;\
  28.    ENDWHILE
  29.  
  30. #define SETBIT(var, bit)\
  31.    MOVE.L var, D0;\
  32.    MOVE.L bit, D1;\
  33.    BSET.L D1, D0;\
  34.    MOVE.L D0, var
  35.  
  36. #define CLRBIT(var, bit)\
  37.    MOVE.L var, D0;\
  38.    MOVE.L bit, D1;\
  39.    BCLR.L D1, D0;\
  40.    MOVE.L D0, var
  41.  
  42. #define MAX(x, y) IF x>y THEN x ELSE y
  43.  
  44. #define MIN(x, y) IF x<y THEN x ELSE y
  45.  
  46. #define GETCHAR(ptr, char)\
  47.    CLR.L char;\
  48.    MOVE.L ptr, A0;\
  49.    MOVE.B (A0), char
  50.  
  51. #define GETINT(ptr, int)\
  52.    CLR.L int;\
  53.    MOVE.L ptr, A0;\
  54.    MOVE.W (A0), int
  55.  
  56. #define GETLONG(ptr, long)\
  57.    MOVE.L ptr, A0;\
  58.    MOVE.L (A0), long
  59.  
  60. #define PUTCHAR(ptr, char)\
  61.    MOVE.L ptr, A0;\
  62.    MOVE.B char, (A0)
  63.  
  64. #define PUTINT(ptr, int)\
  65.    MOVE.L ptr, A0;\
  66.    MOVE.W int, (A0)
  67.  
  68. #define PUTLONG(ptr, long)\
  69.    MOVE.L ptr, A0;\
  70.    MOVE.L long, (A0)
  71.  
  72. #define INCMEMBER(var)\
  73.    var := ( var ) + 1
  74.  
  75. #define DECMEMBER(var)\
  76.    var := ( var ) - 1
  77.  
  78.  
  79.  
  80.